阿里巴巴云原生高可用架构 C++ 一面面经

1.c++ 多态 
2.运行一个main函数的过程 
3.从预处理开始讲，到栈帧的处理； 
4.预处理怎么去掉注释的（？？） 
5.编译器做了什么事情？ 
6.静态链接和动态链接 
7.栈帧的细节是什么，具体保存了什么东西？ 
（前面答的太尴尬了，自告奋勇说了异常的处理机制；） 
每一步都要讲细节，使用什么数据结构，算法，处理方式 
（也就是源码层面上回答，直接崩溃，面试官说我讲的太宽泛了，不够细节） 
（编译原理确实不太熟悉呀） 
8.STL map 的存储原理，扩容原理 
9.红黑树和B树、234树、avl树 的区别 
10.new 和 malloc的区别，malloc 底层是怎么样的？ 
11.具体的操作过程是怎么样的？ 
（说了 brk 和 mmap，面试官说这只是系统调用，具体逻辑是怎么样的） 
12.有没有看过源码？（哭，谁看了 malloc 源码？？） 
13.日志的设计，宕机了怎么处理的？数据丢失掉了怎么办？怎么优化？ 
14.智能指针怎么管理内存？ 
15.怎么检查内存泄漏，怎么解决？ 
16.io 模型的优劣，为什么用 epoll，逐个分析 
17.线程上下文切换原理，切换了什么？ 
18.影响线程数量的原因？ 
19.为什么用红黑树管理定时器 
20.还有什么其他方式？ 
21.分析各个方法管理定时器的优缺点？ 
能不能想出一个更优方案。 
22.为什么使用 json 做序列化方案？还有其他方案吗？ 
23.项目里面最难的地方是什么？ 
24.线程数等于核心数就一定最好吗？ 
25.觉得自己最大的优点是什么？ 
26.最大的技术长处是什么？ 

反问： 
你们部门是做什么的？（容器） 
需要学习什么技术提升个人？ 
什么时候出结果（说不清楚，我只是面试的）
